﻿#include "string.h"
#include "usart.h"
#include "M2M_Serial_Console.h"
#include "USART1_DMA.h"
#include "USART2_DMA.h"
#include "led.h"
#include "speed_reading.h"
#include "PWM.h"
#include "Other_Ports.h"
u8 *M2MSerial_Address;
u8 M2MSerial_RxWaiting=0;//接收指令等待标志位（还没有加在定时器的服务函数里面，尚未生效）
u8 M2MSerial_TxMode=0;//发送模式
u16 M2MSerial_RxWaitingTim=0;//接收延时计数器
u8 OK_Respond[]="JHYTEST OK\r\n";//正常情况下引导信号、正常接收到修改指令的应答
u8 ERR_Respond[]="JHYTESTERR\r\n";//收到错误指令的答复
u8 M2MSerial_RxCmd[M2MSerial_CmdUnit+1]="";//接收容器
u8 M2MSerial_TxCmd[M2MSerial_CmdUnit+1]="J000000000\r\n";//发送容器

u8 Flag_USARTHeartBeat;//心跳包发送标志位

void M2MSerial_Control()
{
    if(USART2_RX_FLAG)
    {
        M2MSerial_RxToCmd();
        LED1=!LED1;
        USART2_RX_FLAG=0;//标志位清零
    }
    if(Flag_USARTHeartBeat)//心跳包发送
    {
        
        //DMA_USART2_Tx_Data(OK_Respond,M2MSerial_CmdUnit);
        Flag_USARTHeartBeat=0;
    }
    M2MSerial_ConnectionStatueCheck();
}
void M2MSerial_RxToCmd(void)
{
    if(M2MSerial_RxCmd[0]=='J')//发送心跳包之后收到来自副控制板的控制指令
    {
        MainMotorPorts_Adjust(M2MSerial_RxCmd[2]);
        MainMotor_SpeedAdjust(M2MSerial_RxCmd[2],M2MSerial_RxCmd[3]);
    }
    
}
void M2MSerial_CmdToTx(void)
{
    
}
void M2MSerial_ConnectionStatueCheck(void)
{
    
}
void M2MSerial_ErrorReaction(void)
{

}
